package cn.com.bluemoon.daps.notice.infrastructure;

import cn.com.bluemoon.daps.domp.api.MailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * @author Jarod.Kong
 */
@Component
public class DapMailServiceFacade {

    @Autowired
    private MailService mailService;


    /**
     * receiver 接收人
     * topic 主题
     * msg 邮件内容
     *
     * @return 是否发送成功，true成功，false失败
     */
    public void sendSimpleMail(String sendTo, String title, String content) {
        mailService.sendSimpleMail(sendTo, title, content);
    }

    /**
     * rcs 接收人列表，可多人
     * ccs 抄送人列表，可多人，可为空
     * bcc 密送人列表，可为空
     * topic 主题，可为空
     * msg 普通文本邮件内容
     * attachmentMap key文件名，value附件URL，可为空
     *
     * @return 是否发送成功，true成功，false失败
     */
    public boolean sendMailAtt(String[] rcs, String[] ccs, String[] bccs, String topic, String msg, Map<String, String> attachmentMap) {
        boolean sendMailAtt = mailService.sendMailAtt(rcs, ccs, bccs, topic, msg, attachmentMap);
        return sendMailAtt;
    }

    /**
     * rcs 接收人列表，可多人
     * ccs 抄送人列表，可多人，可为空
     * bcc 密送人列表，可为空
     * topic 主题，可为空
     * msg html邮件内容
     * attachmentMap key文件名，value附件URL，可为空（Collections.emptyMap()）而不是null
     *
     * @return 是否发送成功，true成功，false失败
     */
    public boolean sendHtmlMailAtt(String[] rcs, String[] ccs, String[] bccs, String topic, String msg, Map<String, String> attachmentMap) {
        boolean success = mailService.sendHtmlMailAtt(rcs, ccs, bccs, topic, msg, attachmentMap);
        return success;
    }
}
